package com.example.demo.controller;

import com.example.demo.entity.*;
import com.example.demo.service.TradeAndServiceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 贸易及服务行业指标
 */
@RestController
@RequestMapping("/tradeAndService")
public class TradeAndServiceController {
    @Autowired
    TradeAndServiceService tradeAndServiceService;

    /**
     *分区镇社会消费品零售总额
     *
     * @param year(int) 年份, month(int) 月份
     *@return
     * List集合（SocialRetailSales类）
     *                {id
     *                 indicators
     *                 thisMonth
     *                 accumulate
     *                 monthOnMonth
     *                 growthRanking
     *                 statisticalTime
     *                 year
     *                 month}
     *
     */
    @GetMapping("/getSocialRetailSales")
    @CrossOrigin
    public List<SocialRetailSales> getSocialRetailSales(@RequestParam int year, @RequestParam int month) {
        return tradeAndServiceService.getSocialRetailSales(year,month);
    }

    /**
     * 限上批发业销售额
     * 限上零售业销售额
     * 限上住宿业营业额
     * 限上餐饮业营业额
     * 交通及营利性服务业营业额
     * 房地产销售收入
     * 房地产销售面积（万平方米）
     *
     * @param year(int) 年份, indicators(String) 指标
     *@return
     * List集合（SocialRetailSales类）
     *                {id
     *                 indicators
     *                 thisMonth
     *                 accumulate
     *                 monthOnMonth
     *                 statisticalTime
     *                 year
     *                 month}
     *
     */
    @GetMapping("/getTradeAndServiceByIndicators")
    @CrossOrigin
    public List<TradeAndServiceIndustry> getTradeAndServiceByIndicators(@RequestParam int year, @RequestParam String indicators) {
        return tradeAndServiceService.getTradeAndServiceByIndicators(year,indicators);
    }


    /**
     *重点服务业企业销售完成情况（年销售亿元以上企业）
     *
     * @param year(int) 年份, month(int) 月份
     *@return
     * List集合（CompletionOfServiceIndustry类）
     *                {id
     *                 number 序号
     *                 industry 所属行业
     *                 name 企业名称
     *                 thisMonth
     *                 accumulate
     *                 monthOnMonth
     *                 statisticalTime
     *                 year
     *                 month}
     *
     */
    @GetMapping("/getCompletionOfServiceIndustry")
    @CrossOrigin
    public List<CompletionOfServiceIndustry> getCompletionOfServiceIndustry(@RequestParam int year, @RequestParam int month) {
        return tradeAndServiceService.getCompletionOfServiceIndustry(year, month);
    }

    /**
     *头标：当月及当月累计
     *
     * @param year(int) 年份, month(int) 月份, indicators(String) 指标
     *@return
     * TradeAndServiceIndustry类
     *                {id
     *                 indicators 指标
     *                 thisMonth 当月
     *                 accumulate 当月累计
     *                 monthOnMonth 同比
     *                 statisticalTime 日期
     *                 year 年
     *                 month 月}
     *
     */
    @GetMapping("/getMonthProduct")
    @CrossOrigin
    public TradeAndServiceIndustry getMonthProduct(@RequestParam int year, @RequestParam int month, @RequestParam String indicators) {
        return tradeAndServiceService.getMonthProduct(year, month, indicators);
    }
}
